The invention relates to the provision of multimedia presentations at a user computer and more particularly to a streaming media player capable of synchronizing content from different sources into a multimedia presentation for display at the user location.
The Internet and various intranets are well known communication networks for the transfer of digital data. While most of the data transmitted on these networks correspond to text or certain computer programs, more and more of it now pertains to multimedia content such as images, audio and video.
A hypertext document is one which is linked to other documents via hyperlinks. A hyperlink often appears in a hypertext document as a piece of highlighted text. The text is usually a word or phase describing something for which a user might wish to obtain further information. When the user activates the hyperlink, typically by clicking on it using a mouse, a link command is initiated; which causes a program at the linked address to be executed; which, in turn, causes the user""s view to be updated so as to show the linked document, typically containing more information on the highlighted word or phase. Such information may be in the form of text, audio, video, a two-dimensional image or a three-dimensional image. Hyperlinks make it easy to follow cross-references between documents. Hypermedia documents are hypertext documents with multimedia capabilities. The regions on the screen which are active hyperlinks are called hot-links.
Nowadays, most people are familiar with the application of hypertext by using a mouse to click on a hot-ink provided on a computer display of a homepage from the World Wide Web (the Web) on the Internet. Data on the Web is located via Uniform Resource Locators, or URLs. URLs comprise the draft standard for specifying an object on the Internet. Each URL specifies the access method and the location for the files. Documents on the Web are written in a simple xe2x80x9cmarkup languagexe2x80x9d called HTML, which stands for Hypertext Markup Language. File formats of data on the Web are specified as MIME formats; MIME stands for xe2x80x9cMultipurpose Internet Mail Extensions.xe2x80x9d (Reference: http://www.oac.uci.edu/indiv/ehood/MIME/MIME.html). Examples of file formats on the Web are .au (probably the most common audio format), .html (HTML files), .jpg (JPEG encoded images), .mid (Midi music format), mpg (MPEG encoded video), and .ps (postscript files). While presently hypertext technology is most common in text and image media, it is beginning to also appear in animation, video and audio.
Audio is also encoded in wav format and stored in files labeled with the suffix wav. Wav audio is not compressed beyond the quantization due to sampling rate and bits per sample. Radio quality audio is typically 22,050 Hz sampled at 8 bit per channel stereo, which give an encoding at data rates of 43 KBps. Reasonable quality speech can be obtained at 11,025 Hz sampling, 8 bit mono, yielding data rates of 11 KBps. MPEG provides various standards for audio compression, typically derived from 44,100 Hz sampling stereo at 16 bit per sample. MPEG audio is typically compressed to between 16 Kbps to 384 Kbps. Other standards tailored to speech signals compress to as 5 Kbps; these include G.723 and GSM.
Typical Web servers follow the HTTP protocol. When a user requests the content of a URL on a server, the entire content associated with that URL is sent to the user""s client machine. Such content may be comprised of an html or htm document with auxiliary information attached to it, such as images and perhaps animation software. The server will commence sending the data and continue sending same until either it has completed sending all the data or until it has received a message from the client to stop sending any more data. Some servers serve in streaming mode, wherein data is sent at some prescribed average data rate, say K bits every N seconds. A streaming server is serviced by a scheduling algorithm to maintain this average data rate.
Media players for decoding and playing audio and video have been standard features on personal computers for more than a decade. Apple Computers had their QuickTime player, while machines running Microsoft""s Windows operating system had the Microsoft Media Player. The players typically required that data for the entire content to be played be resident locally on the computer before the player could start playing. This meant that when media content was coming from some other source on the Web, the player would have to wait until all content was downloaded before starting to play. Recently media players have begun to support streaming capabilities. Streaming players buffer some data from outside sources on the Web and then start playing, even though much of the data has not yet arrived. If the data rate of the incoming data is not fast enough, the player would pause when the data in its buffer was depleted, rebuffer with more data, and then continue to play. An improved streaming media player is detailed in co-pending patent application Ser. No: 09/293,644, entitled xe2x80x9cVariable Rate Streaming Media Playerxe2x80x9d, which is assigned to the present assignee, wherein the media player can slow its playback if it detects a decrease in the buffering of incoming media content, based on network delays, etc.
Streaming media have found novel new applications. One such application is the delivery of audio presentations augmented with images or transparencies. The images are displayed at appropriate time intervals during the audio playback, as prescribed by the authors of the presentation. Various technologies have been invented to accommodate such presentations. Real Networks is using a file format called SMIL, which encapsulates all the relevant information in one file, makes certain that all the data that is required to be provided at a particular point in a presentation already be present at the client at such instant, and then streams this file using a streaming server at some prescribed data rate. Microsoft""s NetShow utilizes a similar scheme but with its ASF data format. All known techniques for delivery of such synchronized content utilize a multiplexing of all the content into a single file, followed by streaming that file using a streaming server. Often, however, the two requirements of a single file and a streaming server are undesirable added complexities. An invention on which the present authors have filed a co-pending patent application, Ser. No. 04/396,241, entitled xe2x80x9cEfficient Streaming of Synchronized Web Content From Multiple Sourcesxe2x80x9d filed simultaneously herewith and assigned to the present assignee, provides a solution without the two requirements, but needed special authoring to prepare auxiliary information to be sent to client players which are then utilized to schedule the various requests to the servers.
What is desirable, therefore, and what is an object of the invention, is to provide a system and method to enable the presentation of time synchronous content without the requirements of creating a single file, including a streaming server, or providing auxiliary information regarding the scheduling of requests.
Another object of the invention is to provide the foregoing in a system and method which requires only input of the time points in the presentation at which various images and events need to occur.
Yet another object of the invention is to provide the foregoing even if the various files do not reside on the same server.
These and other objects are realized by the present invention which provides for the delivery of data from one or more sources, typically web servers, over a communications network such as the Web or an intranet, to end users typically deploying computers. The invention describes a buffering protocol and a streaming media player which utilizes the buffering protocol designed for minimizing the occurrences of pauses during the presentation due to network congestion and for scheduling pauses at appropriate times in the presentation. The data comprises coded content information comprising a time synchronous media, such as audio or video, together with various other sources, such as images or events to be displayed on a monitor, synchronized to appear at predetermined time points in the media presentation. For example, the data may comprise all the information required for the presentation of a lecture using audio and images of accompanying transparencies, each transparency displayed at an appropriate interval of time during the audio presentation. The presentation is delivered in streaming fashion, so that the end user does not have to wait for the entirety of the data to be downloaded before starting the presentation, but rather can start viewing and listening to the presentation after a relatively short delay period. In case of network congestion, as if often experienced on the Web, some of the data necessary for the presentation at a particular instant of time might not yet have arrived, which causes the presentation to pause until the necessary data has arrived. Without the buffering protocol, such pauses will be arbitrary and perhaps frequent. The buffering protocol is ideally suited for streaming media players that do not utilize special streaming servers. The invention does not require that media data and events data be multiplexed into a single streaming file and it does not require that the file provided to the media player be customized for prefetching of content.